package com.example.demo.util;

import com.baomidou.mybatisplus.annotation.TableField;
import lombok.*;

import java.io.Serializable;

/**
 * 接口返回工具
 *
 * @author wen
 * @date 2022年06月10日 10:02
 */
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
@ToString
public class ApiResult<T> implements Serializable {
    /**
     * 返回数据
     */
    private T result;
    /**
     * 返回code码
     */
    private Integer code;
    /**
     * 消息信息
     */
    private String message;

    public static <T> ApiResult<T> succeed() {
        ApiResult r = new ApiResult();
        r.setCode(0);
        r.setResult("操作成功!");
        return r;
    }

    public static <T> ApiResult<T> succeed(T data) {
        ApiResult r = new ApiResult();
        r.setCode(0);
        r.setResult("操作成功!");
        r.setResult(data);
        return r;
    }

    public static <T> ApiResult<T> failed() {
        ApiResult r = new ApiResult();
        r.setCode(-1);
        r.setResult("操作失败!");
        return r;
    }
}
